home *** CD-ROM | disk | FTP | other *** search
- Path: solon.com!not-for-mail
- From: seebs@solutions.solon.com (Peter Seebach)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++
- Subject: Re: C/C++ knocks the crap out of Ada
- Date: 14 Mar 1996 15:45:24 -0600
- Organization: Usenet Fact Police (Undercover)
- Message-ID: <4ia41k$e04@solutions.solon.com>
- References: <00001a73+00002504@msn.com> <3146E324.5C1E@lfwc.lockheed.com> <4i98gg$8n1@solutions.solon.com> <Do9tMv.2p3@world.std.com>
- NNTP-Posting-Host: solutions.solon.com
-
- In article <Do9tMv.2p3@world.std.com>,
- Robert A Duff <bobduff@world.std.com> wrote:
- >There's some misinformation going on here. The Ada RM does *NOT*
- >require a particular compilation order. Neither does C.
-
- I had been worried about that; the post I was responded to made me think
- Ada cared, which seemed odd.
-
- >What Ada *does* require is consistency. If two units refer to a third
- >unit, then they have to refer to the same version of the third unit (or
- >compatible versions of it). This is really necessary in C, too, when
- >using include files, the difference being that Ada compilers are
- >required to tell you about inconsistencies, whereas C compilers are not.
-
- To be specific, C compilers are required to tell you about *some*
- inconsistencies. There's a clever trick with externs that lets you get
- this checking, and have the diagnostic be required.
-
- >The problem
- >with 'make' is that you have to type in the dependences by hand.
-
- Not always; there is a program which does this, although I personally never
- use it.
-
- >But
- >nothing about C requires the use of 'make' -- it is entirely possible to
- >have a more automatic tool. IMHO, direct use of 'make', with
- >hand-written make files, is the wrong approach for C or Ada or any other
- >language (unless you have fewer than about 5 files in your program).
-
- I actually do fine with make for even moderately large projects (by my
- standards). A well done make (NetBSD has one I respect) can handle quite
- large projects.
-
- >So, neither C nor Ada give you what you really want -- a tool that
- >automatically builds your program. So I don't think you can argue that
- >either language is better than the other in this regard. This is fine
- >-- it's not necessary to specify every imaginable Good Thing as part of
- >your *language* standard.
-
- Damn straight.
-
- >You could argue that Ada is better because it complains when there's an
- >inconsistency. Fine, but for a large program, it's a nightmare to
- >figure out what to *do* about that inconsistency, unless you have an
- >automatic tool (not 'make'). So, in practice, you need a separate tool
- >anyway, and if you use it religiously, you won't get burned by
- >inconsistencies in *either* language.
-
- As noted, C can detect some inconsistencies, and this can be a
- very nice trick.
-
- My general strategy is to just rebuild everything after any significant
- change. CPU time is cheap during the build process. I have more processor
- time than hair. (And I'm one of them hippie longhairs, too.)
-
- -s
- --
- Peter Seebach - seebs@solon.com - Copyright 1996 Peter Seebach.
- C/Unix wizard -- C/Unix questions? Send mail for help. No, really!
- FUCK the communications decency act. Goddamned government. [literally.]
- The *other* C FAQ - http://www.solon.com/~seebs/c/c-iaq.html
-